/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import java.util.*;
import persistencia.PersistenciaArticulo;
import persistencia.PersistenciaProveedor;
import persistencia.PersistenciaTarifa;

/**
 *
 * @author JAVA
 */
public class GestionArticulo {

    public static void altaJuego(int idproveedor, int idtarifa, String titulo, String soporte, String genero, int edadMinima, boolean venta) {
        Tarifa tarifa1 = PersistenciaTarifa.obtenerTarifa(idtarifa);
        Proveedor proveedor1 = PersistenciaProveedor.obtenerProveedor(idproveedor);
        boolean disponible = true;
        float valoracion = 0;

        Juego a1 = new Juego(new Date(), proveedor1, disponible, tarifa1, titulo, soporte, edadMinima, genero, valoracion, venta);

        if (PersistenciaArticulo.insertarJuego(a1) == 1) {
            System.out.println("Juego insertado correctamente");
        } else {
            System.out.println("Juego NO insertado");
        }


    }

    public static void altaPelicula(int idproveedor, int idtarifa, String titulo, String genero, String director, int ano, int duracion, String actores, int edadMinima, boolean venta) {
        Tarifa tarifa1 = PersistenciaTarifa.obtenerTarifa(idtarifa);
        Proveedor proveedor1 = PersistenciaProveedor.obtenerProveedor(idproveedor);
        boolean disponible = true;
        float valoracion = 0;


        Pelicula a1 = new Pelicula(new Date(), proveedor1, disponible, tarifa1, titulo, genero, ano, duracion, actores, valoracion, edadMinima, director, venta);

        if (PersistenciaArticulo.insertarPelicula(a1) == 1) {
            System.out.println("Pelicula insertado correctamente");
        } else {
            System.out.println("Pelicula NO insertado");
        }

    }

    public static void altaArtVenta(int idproveedor, int idtarifa, String nombre) {
        Tarifa tarifa1 = PersistenciaTarifa.obtenerTarifa(idtarifa);
        Proveedor proveedor1 = PersistenciaProveedor.obtenerProveedor(idproveedor);
        boolean disponible = true;
        float valoracion = 0;

        ArticuloVenta a1 = new ArticuloVenta(new Date(), nombre, proveedor1, disponible, tarifa1);

        if (PersistenciaArticulo.insertarArticuloVenta(a1) == 1) {
            System.out.println("Articulo insertado correctamente");
        } else {
            System.out.println("Articulo NO insertado");
        }
    }

    public static int mostrarJuego() {

        List<Juego> jue = PersistenciaArticulo.devolverJuego();

        Iterator it = jue.iterator();

        while (it.hasNext()) {
            Juego j = (Juego) it.next();
            System.out.println(j);
        }

        return jue.size();
    }

    public static int comprobarGenero(String genero){
        List<String> aGenero = PersistenciaArticulo.devolverGeneros();
        if(aGenero.contains(genero)){
            return 1;
        }else{
            return 0;
        }
    }
    
    public static int comprobarSoporte(String soporte){
        List<String> aSoporte = PersistenciaArticulo.devolverSoportes();
        if(aSoporte.contains(soporte)){
            return 1;
        }else{
            return 0;
        }
    }
    
    public static int mostrarGeneros() {

        List<String> aGenero = PersistenciaArticulo.devolverGeneros();

        Iterator it = aGenero.iterator();
        System.out.println("\n ----------------------- \n   --- GENEROS ---   \n ----------------------- \n");
        while (it.hasNext()) {
            String g=(String)it.next();
            System.out.println(g);
        }

        return aGenero.size();
    }

    public static int mostrarSoportes() {

        List<String> aSoporte = PersistenciaArticulo.devolverSoportes();

        Iterator it = aSoporte.iterator();
        System.out.println("\n ----------------------- \n   --- SOPORTES ---   \n ----------------------- \n");
        while (it.hasNext()) {
            String s=(String)it.next();
            System.out.println(s);
        }

        return aSoporte.size();
    }

    public static int mostrarPelicula() {

        List<Pelicula> peli = PersistenciaArticulo.devolverPelicula();

        Iterator it = peli.iterator();

        while (it.hasNext()) {
            Pelicula p = (Pelicula) it.next();
            System.out.println(p);
        }

        return peli.size();
    }
    
    public static void addGenero(String genero){
        if(PersistenciaArticulo.insertarGenero(genero)==1){
            System.out.println("Genero almacenado correctamente");
        }else{
            System.out.println("Genero NO almacenado correctamente");
        }
    }
    
    public static void addSoporte(String soporte){
        if(PersistenciaArticulo.insertarSoporte(soporte)==1){
            System.out.println("Soporte almacenado correctamente");
        }else{
            System.out.println("Soporte NO almacenado correctamente");
        }
    }
    
    public static void modificarGenero(String genero, String gener){
        if(PersistenciaArticulo.modificarGenero(genero, gener) ==1){
            System.out.println("Genero modificado correctamente");
        }else{
            System.out.println("Genero NO modificado correctamente");
        }
    }
    
    public static void modificarSoporte(String soporte, String soport){
        if(PersistenciaArticulo.modificarSoporte(soporte, soport) ==1){
            System.out.println("Soporte modificado correctamente");
        }else{
            System.out.println("Soporte NO modificado correctamente");
        }
    }
    

    public static int mostrarArticulosSeVenden() {
        List<Articulo> a = PersistenciaArticulo.obtenerArticulosSeVenden();

        Iterator it = a.iterator();

        while (it.hasNext()) {
            Articulo ar = (Articulo) it.next();
            System.out.println(ar);
        }

        return a.size();
    }

    public static void borrarArticulo(int cod) {

        if (PersistenciaArticulo.bajaArticulo(cod) == 1) {

            System.out.println("Pelicula eliminada correctamente");
        } else {
            System.out.println("Pelicula NO eliminada");
        }

    }

    public static int mostrarArticuloVenta() {

        List<ArticuloVenta> arti = PersistenciaArticulo.devolverArticuloVenta();

        Iterator it = arti.iterator();

        while (it.hasNext()) {
            ArticuloVenta a = (ArticuloVenta) it.next();
            System.out.println(a);
        }

        return arti.size();
    }
    
    public static void modificarArticulo(int cod, String nombre, String valor) {
        
        if (PersistenciaArticulo.modificarArticulos(cod, nombre, valor)==1){
            System.out.println("Campo modificado correctamente");
        } else {
            System.out.println("ERROR AL MODIFICAR");
        }
    }
}
